Verification methods: Rigorous . . .
نویسنده
چکیده
This review article is devoted to verification methods and consists of three parts of similar length. In Part 1 the working tools of verification methods are discussed, in particular floating-point and interval arithmetic; my findings in Section 1.5 (Historical remarks) seem new, even to experts in the field. In Part 2, the development and limits of verification methods for finite-dimensional problems are discussed in some detail. In particular, we discuss how verification is not working. For example, we give a probabilistic argument that the so-called interval Gaussian elimination (IGA) does not work even for (well-conditioned) random matrices of small size. Verification methods are discussed for problems such as dense systems of linear equations, sparse linear systems, systems of nonlinear equations, semi-definite programming and other special linear and nonlinear problems, including M-matrices, finding simple and multiple roots of polynomials, bounds for simple and multiple eigenvalues or clusters, and quadrature. The necessary automatic differentiation tools to compute the range of gradients, Hessians, Taylor coefficients, and slopes are also introduced. Concerning the important area of optimization, Neumaier (2004) gave in his Acta Numerica article an overview on global optimization and constraint satisfaction methods. In view of the thorough treatment there, showing the essential role of interval methods in this area, we restrict our discussion to a few recent, complementary issues. Finally, in Part 3, verification methods for infinite-dimensional problems are presented, namely two-point boundary value problems and semilinear elliptic boundary value problems. Throughout the article, many examples of the inappropriate use of interval operations are given. In the past such examples contributed to the dubious reputation of interval arithmetic (see Section 1.3), whereas they are, in fact, simply a misuse. One main goal of this review article is to introduce the principles of the design of verification algorithms, and how these principles differ from those for traditional numerical algorithms (see Section 1.4). Many algorithms are presented in executable MATLAB/INTLAB code, providing the opportunity to test the methods directly. INTLAB, the MAT-LAB toolbox for reliable computing, was, for example, used by Bornemann, Laurie, Wagon and Waldvogel (2004) in the solution of half of the problems of the SIAM 10 × 10-digit challenge by Trefethen (2002).
منابع مشابه
Verification Methods for Finite Systems
The increasing complexity of concurrent systems requires the development of rigorous design methods. This need has motivated research on specification formalisms and the associated verification methods and tools. By verification, we mean the comparison of a system against its specifications. We consider that a system is described by a program. Specifications describe the service provided by the...
متن کاملRigorous System Design Flow for Autonomous Systems
We currently lack rigorous approaches for modeling and implementing complex systems. BIP (Behavior, Interaction, Priority) is a component-based framework intended to rigorous system design. It relies on single semantic model for system descriptions all along the design flow. It also includes methods and tools for guaranteeing system correctness to avoid a posteriori verification. Our approach i...
متن کاملFormal Specification and Verification of Total Order Broadcast through Destination Agreement Using Event-b
A reliable broadcast is communication primitive used to develop fault tolerant distributed applications. It in due course delivers messages to all participating sites irrespective of their ordering. Total order broadcast impose restriction on message ordering and satisfies total order requirement. A clear specifications, rigorous validation and verification is key to obtain better design of dep...
متن کاملCompositional Verification of Component-based System
Ensuring safety properties of the system model is an essential requirement of rigorous system design. Formal verification provides a rigorous way to prove or disprove the safety properties of system model with respect to certain formal specifications. While as the rapid growth of the complexity of systems, traditional automatic verification approaches can hardly scale. The objective of this res...
متن کاملChallenges in Getting ‘formal’ with Viruses
Researchers in academia and industry are beginning to develop anti-virus technologies founded on formal methods of analysing programs (Christodorescu and Jha 2003, 12th Usenix Security Symposium, 2003; Perriot, 13th Virus Bulletin International Conference 2003; Singh, Moinuddin et al., 2nd European Conference on Information Warfare and Security, 2003). These methods, with rigorous mathematical ...
متن کاملLightweight Verification of Network Protocols: The Case of Chord
This paper applies modeling in Alloy and verification with the Alloy Analyzer to the well-known Chord protocol. The results include the first rigorous proof that the join-only case is correct, and many counterexamples showing that the full protocol is not correct. The paper also explains the methods so they can be applied to other protocols, justifies their costeffectiveness in protocol design,...
متن کامل